package day1105.first;

import day1105.common.MyUtil;
import day1105.common.Student;

import java.util.List;

import static day1105.common.MyUtil.printLine;

/**
 * @author Mr.ma
 * @since 2022/11/5 16:35
 * stream中的find操作有两个，分别是findFirst()和findAny()
 *      findFirst(): 发现第一元素
 *      findAny(): 发现任意一个元素
 * 上述两个方法都是终止方法，返回值为一个Optional对象，需要通过get()方法来获取最终值
 * Optional对象是为了防止空指针异常而创建的类
 **/
public class FindTest {
    public static void main(String[] args) {
        List<Student> studentList = MyUtil.createStudentList();
        studentList.stream().forEach(System.out::println);
        printLine("findFirst");
        Student student = studentList.stream().findFirst().get();
        System.out.println("student = " + student);
        printLine("findAny");
        Student student1 = studentList.stream().parallel().findAny().get();
        System.out.println("student1 = " + student1);
    }
}
